Skip to main content

Profile Integration Specification

The Profile Integration APIs provide synchronous and asynchronous options to upload and update subscriber records in Msgkart.


Global API Configuration

ParameterRequired On Every RequestValue
Base URLYeshttps://{{msgkart_host}}
HeaderYesx-api-key: {{api_key}}
HeaderYesContent-Type: application/json

Available Endpoints

  1. Direct Profile Upload API (POST /api/v3/profile/upload)
    • Synchronous upload of up to 1,000 subscriber profiles directly in the request body.
  2. Bulk Profile Upload API (POST /api/v3/profile/bulkupload)
    • Asynchronous import of large profile datasets via a presigned URL.

Standard Profile Body Schema

Top-level request body must contain a profile array. Field names are case-sensitive and must be exact lowercase — a misnamed field (e.g., naMe) is preserved in custom extras instead of mapping to the standard field.

FieldTypeRequiredDescription
phonestringREQUIREDSubscriber's mobile number (e.g. "917415908509"). Record is rejected if missing or invalid.
countrycodestringOptionalISO country code. Defaults to IN if omitted.
namestringOptionalFull name of the subscriber.
ageintegerOptionalAge of the subscriber as an integer.
genderstringOptionalAllowed values: male, female, or other.
dobintegerOptionalDate of birth as Unix epoch seconds.
businesssubscriberidstringOptionalYour system's unique user or customer ID (e.g. "CUST-98712").
* (custom fields)anyOptionalAny other custom attribute (e.g., city, tier)

Ingestion Rules & Behaviors

  • Idempotency: Ingestion is idempotent based on (businessId, phone) — an existing profile is updated in place.
  • Partial Failure Handling: Batches with invalid phone numbers report status per-row while valid records in the same batch are successfully uploaded ("status": "success with errors").